package sg.edu.nus.iss.vmcs.service;

import sg.edu.nus.iss.vmcs.machinery.MachinerySimulatorPanel;

public interface IMachineryDisplayService {
	/**
	 * Retrieve the machinary panel
	 * @return
	 */
	public MachinerySimulatorPanel getMachinerySimulatorPanel();
	/**
	 * Set the machinary panel
	 * @param machinarySimulatorPanel
	 */
	public void setMachinerySimulatorPanel(
			MachinerySimulatorPanel machinarySimulatorPanel);
	/**
	 * Close down the machinary panel
	 */
	public void closeDownMachineryPanel();
	/**
	 * Display the machinary panel
	 */
	public void displayMachineryPanel();
	/**
	 * Dispose the machinary panel
	 */
	public void disposeMachineryPanel();
	/**
	 * Check if the machinary panel is terminated
	 * @return
	 */
	public boolean isMachineryPanelTerminated();
	/**
	 * Set the door state
	 * @param doorState
	 */
	public void setDoorState(boolean doorState);
	/**
	 * Update the drink store display
	 */
	public void updateDrinkStoreDisplay();
	
	/**
	 * Update the cash store display
	 */
	public void updateCashStoreDisplay();
	/**
	 * Refresh the machinary panel
	 */
	public void refreshMachinerySimulationPanel();
}
